{ printf("您输入的是%s\n",s);break;} } }
int main (void){ int i,r;printf ("请输入一个数字: ");r=scanf ("%d", &i);if(r==0)printf("输入错误,重新输入");else printf ("%d",i);return 0;} 有不懂的问我。
这个程序不难写,我告诉你思路和算法,你根据这个编写代码就可以了。1.由于你输入的这一串数据可能都为数字,也可能包含其它字符,所以首先用一字符数组存放这个字符串。2.用strlen函数计算这个字符串的长度,在此基础上借助for循环或while循环实现数组元素的遍历。3.遍历每一个元素的同时用if语句判断这个...
scanf("%[0-9]",s);//只能输入数字字符到字符串数组s,忽视其他字符
大概流程是这样的:int n,*p;cout<<"你有几个数要输入:";cin>>n;p=new int[n];cout<<"请输入"<<n<<"个整数:"<<endl;for(int i=0;i<n;i++)cin>>p[i];//在这里插入对输入的数据进行处理的代码 delete [] p;
include<stdio.h>int main(){char s[100];int i;bool digit=false;bool letter=false;scanf("%s",s);for(i=0;s[i]!='\0';i++){if(s[i]>='0' && s[i]<='9')digit=true;if((s[i]>='a' && s[i]<='z') || (s[i]>='A' && s[i]<='Z'))letter=true;}if...
可以用以下的代码保证输入的数字x一定是一个1开头的11位数:long long x=0;while(x<=1e10 || x>=2e10)scanf("%lld",&x);
不可能输入不了字母,你输入的时候用%d就可以了啊,那个默认就是输入数字的,这和你定义的无关,和你输入法的时候用的符号有关的。代码没有啥问题,你这就是个简单求和,你加几条语句打印一下,就下面的先注释掉,你输入n之后选择打印,调试一下看看值读进去没有。
如果希望能原样输出,就可以在printf函数中的%f中间插入%0.2f,或者%后面直接是小数点,省略数字,即%.2f,表示输出的小数无论存储的是小数点后多少位,输出的时候只显示小数点后2位。键盘输入了大于2位小数,比如3.14159,输出的时候也只能是3.14。但是,scanf函数中的float型变量占位符中间不能插入小数点后位数...