原题链接:字符串输入输出函数
解题思路:
①:用c语言编写时,输出数字时不好控制应为不知道小数点后为多少位有效数字
②:所以把数字也用字符串存储
参考代码:
#include<stdio.h>
void GetReal(char *R);
void GetString(char *A);
int main()
{
    char R[100];
    char A[100];
    GetReal(R);
    //getchar();
    GetString(A);
    printf("%s\n",R);
    printf("%s\n",A);
    return 0;
}
/*==============================*/
void GetReal(char *R)
{
   printf("please input a number:\n");
   scanf("%s",R);
}
/*==============================*/
void GetString(char *A)
{
   printf("please input a string:\n");
   scanf("%s",A);
   //gets(A);/*用gets提交不对*/
}
解题思路二:
①:用c++写的话输出不用考虑小数有效位数问题,也就是不会在后面加零
#include<iostream>
using namespace std;
void GetReal(double *R);
void GetString(char *A);
int main()
{
   double R;
   char A[100];
   GetReal(&R);
   GetString(A);
   cout<<R<<endl;
   cout<<A<<endl;
return 0;
}
/*------------------------------*/
void GetReal(double *R)
{
 cout<<"please input a number:"<<endl;
 cin>>(*R);
}
void GetString(char *A)
{
 cout<<"please input a string:"<<endl;
 cin>>A;
}别忘点赞哦-.-
0.0分
20 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
 
#include <stdio.h> #include <stdlib.h> #include <string.h> void GetReal(char *n){ printf("please input a number:\n"); scanf("%s",n); } void GetString(char *a){ printf("please input a string:\n"); scanf("%s",a); } int main() { int i; char a[128],n[128]; GetReal(n); GetString(a); printf("%s\n",n); printf("%s\n",a); return 0; } 为什么我的就是格式错误呢#include<stdio.h> void GetReal(char *R); void GetString(char *S); int main() { char R[100]; char S[100]; GetReal(R); GetString(S); printf("please input a number:\n"); printf("please input a string:\n"); printf("%s\n",R); printf("%s\n",S); return 0; } void GetReal(char *R) { scanf("%s",R); } void GetString(char *S) { scanf("%s",S); } 我结合题目要求修改了一下,这个C语言版本是正确的。#include <stdio.h> /* run this program using the console pauser or add your own getch, system("pause") or input loop */ void GetReal(char b[]){ printf("please input a number:\n"); gets(b); } void GetString(char a[]){ printf("please input a string:\n"); gets(a); //可以用gets,提交过了,满分 } int main(){ char b1[100]; char a1[100]; GetReal(b1); GetString(a1); printf("%s\n",b1); printf("%s\n",a1); return 0; }#include<stdio.h> void GetReal(double r){ double a; scanf("%lf",&a); } void GetString(char s){ char c; scanf("%s",&c); } int main(){ double r; char s; printf(" please input a number:\n"); printf("please input a string:\n"); GetReal(r); GetString(s); printf("%f\n",r); printf("%s\n",s); return 0; } 我想问问要是这样写哪里不对呢?