精华内容
下载资源
问答
  • C语言 输入数字的容错性检查

    千次阅读 2016-08-28 17:09:17
    vs似乎不能用fflush(stdin),Linux下gcc貌似更不行了,目前就先用这种方法来写输入数字的容错性。void main() { //getchar()只是一个宏,下面是stdio.h中的定义:#define getchar() getc(stdin)参数stdin是指键盘...

    VS似乎不能用fflush(stdin),Linux下gcc貌似更不行了,目前就先用这种方法来写输入数字的容错性。

    void main() {
        //getchar()只是一个宏,下面是stdio.h中的定义:#define getchar() getc(stdin)参数stdin是指键盘
        int i;
        printf("请输入正值i:");
        while (1) { 
            if (!scanf("%d", &i))                  //字母开头
            {
                printf("请重新输入:");
                while (getchar() != '\n');
            }
            else if (getchar() != '\n') {          //数字开头后面没接回车
                printf("请重新输入:");
                while (getchar() != '\n');
            }
            else if(i<=0) printf("请重新输入:");   //数字开头后接回车(非正数)
            else break;                            //数字开头后接回车(正数)
        }
        printf("i=%d", i);
    }
    展开全文
  • #include main() { int flag=0,a,b,i,n=0; scanf("%d %d",&a,&b); flag=1; for(i=a;i;i++) //可加条件或改变条件 if(i%4!=0) //判断能否被四整除 ... //每行输出八个数字回车换行 (可改) } }  
    #include<stdio.h>
    main()
    {
    	int flag=0,a,b,i,n=0;
    	scanf("%d %d",&a,&b);
    	flag=1; 
    	for(i=a;i<=b;i++)         //可加条件或改变条件
    	    if(i%4!=0)        //判断能否被四整除 
    	    {
    	    	printf("%-5d",i);
    	    	n++;
    	    	if(n%8==0) printf("\n");   //每行输出八个数字回车换行 (可改)
    		}
    		
    }

     

    展开全文
  •  可以输入负数。 #include int main() { char arr[10],brr[10]; int i=0,j=1,length; char a; printf("输入不大于10位的数(可负数),超过只取前10位:\n"); while((a=getchar())!='\n') { arr[i]=a; ...

    控制不能超过10位数。 可以输入负数。

    #include <stdio.h>
    int main()
    {
    	char arr[10],brr[10];
    	int i=0,j=1,length;
    	char a;
    	printf("输入不大于10位的数(可负数),超过只取前10位:\n");
    	while((a=getchar())!='\n')
    	{
    		arr[i]=a;
    		i++;
    		if(arr[0]=='-')
    		{
    			if(i>10)
    				break;
    		}else{
    			if(i>9)
    			{
    				break;
    			}
    		}
    	}
    	arr[i]='\0';
    	length=i;
    	if(arr[0]=='-')
    	{
    		printf("位数:%d\n",i-1);
    	}
    	else
    	{
    		printf("位数:%d\n",i);
    	}
    	printf("正序:");
    	for(i=0;arr[i]!='\0';i++)
    	{
    		printf("%c",arr[i]);
    	}
    	printf("\n");
    	printf("逆序:");
    	if(arr[0]=='-')
    	{
    		brr[0]='-';
    		for(i=length-1;i>0;i--)
    		{
    			brr[j]=arr[i];
    			j++;
    		}
    		for(i=0;i<j;i++)
    		{
    			printf("%c",brr[i]);
    		}
    	}
    	else
    	{
    		for(i=length-1;i>=0;i--)
    		{
    			printf("%c",arr[i]);
    		}
    	}
    	printf("\n");
    	
        return 0;
    }

    如下正数,负数,

     

    转载于:https://my.oschina.net/oisanblog/blog/775726

    展开全文
  • 前两个问题如题,请解答。...对于这个程序,我输入字母时,系统把它自动转为ASCII码值,程序没报错,我该怎么做才能让这种输入发生时程序提示我输入的不是数字,并让我重新输入C语言新手,求助!!!
  • C语言数字

    2013-09-28 20:30:45
    C语言编写的一个猜数字游戏,A表示数字正确且位置正确的数字,B表示位置不正确但数字正确的数字数字之间要用空格分开。游戏如何开始:编译成功后,输入1,按回车。再输入要猜的数字位数,按回车。游戏开始。
  • C语言猜数游戏 输入数字 正确为止 C语言写的猜数字游戏
  • 手把手C语言入门—C语言输入函数输入一个int数字并且打印出来输出一个字符序列输入输出一个字符序列完整的代码 输入一个int数字并且打印出来 代码如下: #include <stdio.h> #include <stdlib.h> main()...

    知识总结

    1、scanf(“占位符”,内存地址)
    2、输入一个int数字并且打印出来
    3、输出一个字符序列

    1. 输入数组:
      1、c语言中没有字符串,但可以用char数组表示
      2、char数组的写法和for循环的写法
      3、输入char数组打印出来:%s
    2. 数组的另外一种表示:
      1、数组的结束表示:\0
      2、数组是一块连续的内存空间

    输入一个int数字并且打印出来

    代码如下:

    #include <stdio.h>
    #include <stdlib.h>
    main()
    {
    	// 输入一个int数字并且打印出来
    	int i; 
    	printf("亲,请你输入一个你最喜欢的数字:\n"); 
    	// scanf("占位符",内存地址); 
    	scanf("%d",&i);
    	printf("您输入的数字是:%d\n",i); 
    	
    	system("pause");
    }
    

    运行结果:
    在这里插入图片描述

    输出一个字符序列

    #include <stdio.h>
    #include <stdlib.h>
    main()
    {
    	// 输入一个int数字并且打印出来 
    	int i; 
    	printf("亲,请你输入一个你最喜欢的数字:\n"); 
    	// scanf("占位符",内存地址); 
    	scanf("%d",&i);
    	printf("您输入的数字是:%d\n",i); 
    	
    	// 输出一个字符序列 
    	// 在C语言中没有String类型(字符串),但是可以用char数组来表示 
    	char cArray[] = {'H','E','L','L','O'}; // 输入 
    	
    	// 打印出来
    	// C语言中for循环不能把变量定义在括号内,必须定义在外面 
    	// for(int j=0;j<5;j++) 这样定义会报错
    	 int j;
    	 for(j=0;j<5;j++){
    	 	// %c:内容
    	 	// cArray[%d]:动态的是第几个的 ,动态变化 
    	 	printf("cArray[%d]=%c\n",j,cArray[j]);
    	 }
    	system("pause");
    }
    

    运行结果:
    在这里插入图片描述

    	// 输出一个字符序列 
    	// 在C语言中没有String类型(字符串),但是可以用char数组来表示 
    	char cArray[] = {'H','E','L','L','O','\0'}; // 输入 
    	// 打印出来
    	// C语言中for循环不能把变量定义在括号内,必须定义在外面 
    	// for(int j=0;j<5;j++) 这样定义会报错
    	 int j;
    	 for(j=0;j<5;j++){
    	 	// %c:内容
    	 	// cArray[%d]:动态的是第几个的 ,动态变化 
    	 	printf("cArray[%d]=%c\n",j,cArray[j]);
    	 }
    	 printf("cArray:%s\n",cArray); 
    	
    	system("pause");
    
     printf("cArray:%s\n",cArray); 
    

    在这里插入图片描述

    输入输出一个字符序列

    #include <stdio.h>
    #include <stdlib.h>
    main()
    {
    	
    	// 输出一个字符序列 
    	// 在C语言中没有String类型(字符串),但是可以用char数组来表示
    	printf("请输入Hello:\n");
    	char cArray[5]; // 输入 
    	scanf("%s",&cArray); 
    	// 打印出来
    	// C语言中for循环不能把变量定义在括号内,必须定义在外面 
    	// for(int j=0;j<5;j++) 这样定义会报错
    	 int j;
    	 for(j=0;j<5;j++){
    	 	// %c:内容
    	 	// cArray[%d]:动态的是第几个的 ,动态变化 
    	 	printf("cArray[%d]=%c\n",j,cArray[j]);
    	 }
    	 printf("cArray:%s\n",cArray); 
    	
    	system("pause");
    }
    

    运行结果:
    在这里插入图片描述

    #include <stdio.h>
    #include <stdlib.h>
    main()
    {
    	
    	// 输入 
    	char cArray[] = {'a','b','c','d','e'}; 
    
    	 printf("cArray:%s\n",cArray); 
    	
    	system("pause");
    }
    

    运行结果:
    在这里插入图片描述
    ==多了 * 号,因为数组是一块连续的内存空间,连续的内存空间不知道怎么结束,这时只需要加上 ,’ \0 ',代表结束 ==
    如下代码:

    #include <stdio.h>
    #include <stdlib.h>
    main()
    {
    	
    	// 输入 
    	char cArray[] = {'a','b','c','d','e','\0'}; 	// \0 :代表结束  
    
    	 printf("cArray:%s\n",cArray); 
    	
    	system("pause");
    }
    

    加上 ,’ \0 ’ 与没加的区别,如下

    #include <stdio.h>
    #include <stdlib.h>
    main()
    {
    	// 输入 
    	// 输出结果多了 * 号,因为数组是一块连续的内存空间,连续的内存空间不知道怎么结束,这时只需要加上 ,' \0 '== 
    	char cArray[] = {'a','b','c','d','e'}; 
    	printf("cArray:%s\n",cArray); 
    	 
    	char cArray1[] = {'a','b','c','d','e','\0'}; 
    	printf("cArray1:%s\n",cArray1); 
    	
    	system("pause");
    }
    

    效果图:
    在这里插入图片描述

    char cArray2[] = {‘a’,‘b’,‘c’,‘d’,‘e’,’\0’,‘a’,‘b’}; // \0 :代表结束
    // 数组是一块连续的内存空间
    printf(“cArray2:%s\n”,cArray2); // 这是输出的还是abcde,因为\0代表结束了,所以后面的a和b不会连着输出
    在这里插入图片描述

    完整的代码

    #include <stdio.h>
    #include <stdlib.h>
    /**
    
    scanf("占位符",内存地址);
    
    
    %d  -  int
    %ld -  long int
    %c  -  char
    %f  -  float
    %u  -  无符号数
    %hd -  短整型
    %lf -  double
    %x  -  十六进制输出 int 或者long int 或者short int
    %o  -  八进制输出
    %s  -  字符串
    	
    	Java中为 System.in();
    
    */
    main()
    {
    	
    	// 输入 
    	// 输出结果多了 * 号,因为数组是一块连续的内存空间,连续的内存空间不知道怎么结束,这时只需要加上 ,' \0 ',代表结束 
    	char cArray[] = {'a','b','c','d','e'}; 	// \0 :代表结束  
    	// 数组是一块连续的内存空间
    	printf("cArray:%s\n",cArray); 
    	 
    	char cArray1[] = {'a','b','c','d','e','\0'}; 
    	printf("cArray1:%s\n",cArray1); 
    	
    	char cArray2[] = {'a','b','c','d','e','\0','a','b'}; // \0 :代表结束  
    	// 数组是一块连续的内存空间
    	printf("cArray2:%s\n",cArray2); // 这是输出的还是abcde,因为\0代表结束了,所以后面的a和b不会连着输出 
    	
    	// 引入char类型指针
    	char* text = "I love you!!!" ;
    	printf("text:%s\n",text);
    		
    	system("pause");
    }
    
    展开全文
  • printf("输入错误,请重新输入!\n"); free(n); n=(char *)malloc(sizeof(char)*50); gets(n); i=0; } } i=0; while (n[i] >= front &n[i] ) { val = (val * 10 + (int)n[i] - 48); i++; } return ...
  • c语言输入一行未知个数数字存入数组 代码: #include<stdio.h> #include<ctype.h> int main() { int a[1000]; char c; int i = 0; int n = 0; while ((c = getchar()) != '\n') { if (isdigit(c...
  • c语言输入字符串转化为数字

    千次阅读 2019-10-06 21:11:09
    /*输入一个以回车结束的字符串,它由数字字符组成,将该字符串转换成整数后输出。**输入提示信息:"Enter a string: "**输出格式要求:"digit = %d\n"*/ #include <stdio.h> int main(){ unsigned long n =...
  • 本文实例为大家分享了C语言实现数字炸弹小游戏的...//游戏中输入数字及其判定所需要的数字 int in_GivenNum = 0,in_An = 0,in_Bn = 0;//出的数字,和数字区间 int in_Mid1,in_Mid2;//用来交换An、Bn的值以满足An<
  • 输入一个数字,将每个数字字符正序输出。...puts(“输入数字位数:”); scanf("%d", &n); puts(“输入数字:”); scanf("%d", &x); int i, j, a[100]; for (i = 0; i <n ; i++) { a[i] = ...
  • C语言数字

    千次阅读 2020-09-28 23:04:04
    输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下: 输入格式: 输入在一行中给出一个整数, 如:1234。 提示:整数包括负数、零和正数。 输出格式: 在一行中输出这个...
  • C语言回文数字

    千次阅读 2020-06-10 13:05:14
    观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。 本题要求你找到一些5位或6位的十进制数字。...该数字的各个数位之和等于输入的整数。
  • c语言 输入一行字符,分别统计出其中英文字母 空格 数字和其他字符的个数
  • 我们把一个数字当做一个字符去进行输入,然后接下来就按照判断回文字符串的方法来。 大致思路:将字符串逆序赋给另一个字符串,然后比较这两个字符串是否相同。(其实也就是比较需要判断的那个字符串正序和逆序是否...
  • c语言数字

    2020-10-12 11:10:21
    数组找数字 #include<stdio.h> int search(int key, int a[], int length); // 声明 ... printf("请输入一个数字:"); scanf_s("%d", &x); loc = search(x, a, sizeof(a) / sizeof(a[0])); if
  • C语言数字游戏

    2019-08-31 20:39:45
    C语言数字游戏 猜数字小游戏,随机生成一个数,用户去猜, 若用户猜的大了 ,提示用户猜的太大了, 若用户猜的小了,提示用户猜的太小了, 若用户猜中了,恭喜您猜对了. 程序: void game() { int random_num = ...
  • #include<stdio.h> int main () { int a[10]; int i; int t;...i++)//用户依次将十个数字输入数组中;... //最后a【9】就是用户输入数字中最大的数字 ; { if(a[i]>a[i+1])//如果里面比较符号
  • c语言数字

    2019-10-26 14:28:37
    数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。...
  • C语言数字游戏 使用随机数加时间戳种子,保证每次打开数字不同 #include<stdio.h> #include<time.h> void game() { int input, num = rand()%100+1; printf("请输入猜的数字1-100间:\n"); while (1...
  • #include<stdio.h> #include<stdlib.h> int main(int* argc, char* argv[]) { int a[10], i, temp;/*定义数组的长度为10,你也可以换成其他的,当然,这个换了下面的也要换*/ ...for (i =..
  • codeup 1863 C语言-数字

    2019-04-06 17:06:58
    codeup 1863 C语言-数字 题目描述 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。 输入 10个整数 输出 整理后的十个数,每个数...
  • C语言实现数字全排列

    千次阅读 多人点赞 2020-03-02 11:30:23
    文章目录一、问题描述二、代码三、算法 一、问题描述 【问题描述】输入整数N( 1 <= N <= 10 ),生成从1~N所有整数的全排列。 【输入形式】输入整数N。...如果将每行上的输出看成一个数字,则所有输出构...
  • C语言:把数字字符串转换成整型数字不懂时,别乱说;懂得时,别多说;心乱时,慢慢说;没话时,就别说。运行环境:TC2. 把数字字符串转换成整型数字。比如说小编输入一个数字字符当你年轻时,你以为什么都有答案,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,699
精华内容 3,079
关键字:

c语言输入数字

c语言 订阅