(合法的数字样例 124, 258, 247)
(不合法的数字样例: 121, 256, 246)
样例输入: 300
样例输出: 100
样例输入: 124
样例输出: 52
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
/**程序窗口*/
void winos();
//判断输入是否合法(范围 非数字判断 )
void User_Input(int* a);int main()
{
winos(); //程序窗口int n; //用户输入int num = 0;//int a = 0; //个位//int b = 0;//十位//int c = 0;//百位//int d = 0;//千位//User_Input(&n);//a = n % 10;//b = n % 100 / 10;//c = n % 1000 / 100;//d = n % 10000 / 1000;//printf("%d %d %d %d \n", a, b, c, d); // 测试while (1){
printf("请输入一个数字\n");//判断师傅输入合法while (1){
//判断输入是否是数字User_Input(&n);//判断输入是否合法if (n > 100 && n < 10000){
//循环从10开始for (int i = 10; i <= n; i++){
int b = i % 10;int c = i / 10;int sum = 0;while (c){
sum += c % 10;c /= 10;}if (b > sum){
num++;}}printf("%d\n",num);num = 0;break;}else{
printf("输入错误请重新输入\n");}}printf("还要继续玩吗? (任意键继续玩,按n退出程序)\n");char ch = ' ';if (ch = _getch(), ch == 'n' || ch == 'N'){
break;}}printf("\n"); system("pause");return 0;
}
/**程序窗口*/
void winos()
{
system("title oo");//设置CMD窗口 标题system("color 4E");system("mode con cols=85 lines=65");//设置窗口大小printf("\t\t\t※当 前 时 间※\n\n");printf("\t\t\t");system("date /T");printf("\t\t\t");system("TIME /T");
}
判断输入是否合法(范围 非数字判断 )
void User_Input(int* a)
{
do {
//如果输入函数返回值是1,代表输入正确 跳出循环if (scanf("%d", a) == 1){
break;}//如果返回值不是1,执行下面的,char choice;//循环字符缓冲区内容while ((choice = getchar()) != '\n' && choice != EOF);printf("输入的不是数字!请重新输入:\n");} while (scanf("%d", a) != 1);
}