解题思路:

①:用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;
}

别忘点赞哦-.-

点赞(17)
 

0.0分

20 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 16 条评论

希望与梦想 4年前 回复TA
#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;
}


为什么我的就是格式错误呢
学习 4年前 回复TA
#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语言版本是正确的。
北极冬瓜 5年前 回复TA
我去  这个题解通过不了 你们难道没发现吗? 格式不对!!!
李丹 5年前 回复TA
@Aniston 不要复制题目中的please  input  a  string:,中间会多一个空格
踏乡墨客 5年前 回复TA
#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;
}
Aniston 5年前 回复TA
#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;
}


我想问问要是这样写哪里不对呢?