不带换行符c的输入编号(int)
如何输入没有空格的数字(int) 只要输入不是零,我就想停止scanf。 我怎么做不带换行符c的输入编号(int),c,C,如何输入没有空格的数字(int) 只要输入不是零,我就想停止scanf。 我怎么做 #include <stdio.h> int main() int num; { while(num!=0){ printf("Enter the account activity: "); scanf("%d", &num); if(num==0){ break;
#include <stdio.h>
int main()
int num;
{
while(num!=0){
printf("Enter the account activity: ");
scanf("%d", &num);
if(num==0){
break;
}
}
}
#包括
int main()
int-num;
{
while(num!=0){
printf(“输入帐户活动:”);
scanf(“%d”和&num);
如果(num==0){
打破
}
}
}
不要使用scanf
使用其他东西,例如:
#include<stdio.h>
#define MAX 100
int main(void)
{
int i,count=0;
int num=0, block=0;
int sign=1;
int arr[MAX] = {[0 ... MAX-1]=-1};
while((i=getchar())!=EOF)
{
if(block==0) //FIRST THING TO BE ENTERED BY USER IS SIGN OF INTEGER
{
if(i=='-')
block=1;
sign=-1;
continue;
}
if((i>'0')&&(i<='9'))
{
arr[count++]= i -'0';
}
else
break;
}
i=0;
printf("The number is: ");
while(i<count)
{
num=arr[i++]+num*10;
}
printf("%d",sign*num);
return 0;
}
#包括
#定义最大值100
内部主(空)
{
int i,计数=0;
int num=0,block=0;
int符号=1;
int arr[MAX]={[0…MAX-1]=-1};
而((i=getchar())!=EOF)
{
if(block==0)//用户首先要输入的是整数的符号
{
如果(i='-')
块=1;
符号=-1;
持续
}
如果((i>'0')&(i我冒昧地稍微修改了一下您的代码,并假设您想要一个总和
#include <stdio.h>
int main(void) {
int num, sum = 0;
printf("Enter the account activity: ");
fflush(stdout);
for (;;) {
if (scanf("%d", &num) != 1) break;
if (num == 0) break;
sum += num;
}
printf("Result is %d.\n", sum);
return 0;
}
#包括
内部主(空){
int num,sum=0;
printf(“输入帐户活动:”);
fflush(stdout);
对于(;;){
如果(scanf(“%d”,&num)!=1)中断;
如果(num==0)中断;
sum+=num;
}
printf(“结果为%d.\n”,总和);
返回0;
}
/*打印和存储(最后一个整数值)并在输入值为0时终止的程序*/
#包括
int main(){
int num=1;
while(num!=0){
printf(“\n输入帐户活动:”);
scanf(“%d”和&num);
如果(num==0)
打破
}
返回0;
}
num在哪里声明?我更新了代码您是否希望输入没有空格,甚至在不同的数字之间也没有空格?数字制表符、逗号或其他字符之间有哪些字符分隔?是否有换行符或返回字符?或者输入只是一个没有任何其他字符的数字流?我的意思是没有换行符,只有空格不是吗newline@EladAspis是的,但是如果不是在一个数组中,您想将数字存储在哪里-您的num
一次只能保存一个数字。这对-17有什么帮助?
int main(void)
{
int num;
int ch = 0; // used for reading and discarding garbage from stdin
printf("Enter the account activity: ");
do {
if(scanf("%d", &num) == 1) // check if an in could be read successfull
printf("%d\n", num); // if so, print it.
else { // otherwise
// read characters from stdin until EOF is reached
while ((ch = getchar()) != EOF)
if (isdigit(ch) // if the last character
|| ch == '+' // was a valid character to
|| ch == '-') { // begin a new int,
ungetc(ch, stdin); // put it back into the stream
break; // and break the while
}
}
} while (num && ch != EOF);
}
/*Program that prints and stores(last integer value) and terminates on input value of 0 */
#include <stdio.h>
int main(){
int num=1;
while(num!=0){
printf("\nEnter the account activity: ");
scanf(" %d", &num);
if(num==0)
break;
}
return 0;
}