源程序如下:
#include"stdio.h"
voidmain()
{
inti /*身份z的第i位*/
ints[17] /*定义一个数组用来存放身份z的前17位*/
intt[17] /*各位相乘后的数组*/
intm /*余数*/
intt18 /*身份z的第18位0--9*/
chart18c /*身份z的第18位X*/
longintsum=0
for(i=0i<17i++)
{
printf("请输入身份z的第%d位:",i+1);
scanf("%d",&s[i])
switch(i+1)
{
/*身份z的1到17位要乘的数一次是7910584216379105842*/
case1:t[i]=s[i]*7break
case2:t[i]=s[i]*9break
case3:t[i]=s[i]*10break
case4:t[i]=s[i]*5break
case5:t[i]=s[i]*8break
case6:t[i]=s[i]*4break
case7:t[i]=s[i]*2break
case8:t[i]=s[i]*1break
case9:t[i]=s[i]*6break
case10:t[i]=s[i]*3break
case11:t[i]=s[i]*7break
case12:t[i]=s[i]*9break
case13:t[i]=s[i]*10break
case14:t[i]=s[i]*5break
case15:t[i]=s[i]*8break
case16:t[i]=s[i]*4break
case17:t[i]=s[i]*2break
}
sum=sum+t[i]
}
printf("前17位相乘后的和为%ld\n",sum)
m=sum%17
printf("对17取余后的值位:",m)
switch(m)
}
/*各个余数所对应第18位身份z号10X98765432*/
case0:t18=1printf("这是一个合法的身份z号码,第18位是%d",t18)break
case1:t18=0printf("这是一个合法的身份z号码,第18位是%d",t18)break
case2:t18c='X'printf("这是一个合法的身份z号码,第18位是%c",t18c)break
case3:t18=9printf("这是一个合法的身份z号码,第18位是%d",t18)break
case4:t18=8printf("这是一个合法的身份z号码,第18位是%d",t18)break
case5:t18=7printf("这是一个合法的身份z号码,第18位是%d",t18)break
case6:t18=6printf("这是一个合法的身份z号码,第18位是%d",t18)break
case7:t18=5printf("这是一个合法的身份z号码,第18位是%d",t18)break
case8:t18=4printf("这是一个合法的身份z号码,第18位是%d",t18)break
case9:t18=3printf("这是一个合法的身份z号码,第18位是%d",t18)break
case10:t18=2printf("这是一个合法的身份z号码,第18位是%d",t18)break
default:printf("这不是一个合法的身份z号码")
}
printf("\n")
}
VC++6.0测试如下(输入一位后按回车输入第二位数)。
在 C 语言中,可以使用程序验证表达式的结果,其中包括等于(==) *** 作符。下面是一个例子,演示了如何使用 C 语言程序计算并验证一个简单的数学表达式:```c
#include <stdio.h>
int main() {
int a = 5, b = 2, c
c = a + b // 计算 a + b 的值
printf("a + b = %d\n", c)
c = a - b // 计算 a - b 的值
printf("a - b = %d\n", c)
c = a * b // 计算 a * b 的值
printf("a * b = %d\n", c)
c = a / b // 计算 a / b 的值
printf("a / b = %d\n", c)
c = a % b // 计算 a % b 的值
printf("a %% b = %d\n", c)
if (a == b) { // 判断 a 是否等于 b
printf("a 等于 b\n")
} else {
printf("a 不等于 b\n")
}
return 0
}
```
在上述代码中,我们定义了两个整型变量 `a` 和 `b`,并初始化为 5 和 2。然后,我们使用加、减、乘、除和模运算等数学运算符计算表达式的结果,并将结果输出到控制台中。同时,我们使用等于(==)运算符判断 `a` 是否等于 `b`,并根据结果输出相应的提示信息。
需要注意的是,在实际应用中,还需要考虑整型溢出、精度误差等问题,以确保计算结果的正确性和稳定性。另外,对于浮点型数据类型的表达式,也可以通过类似的方式进行计算和验证。
您好,很高兴回答您的问题。在c语言中,printf函数代表输出语句,是将相关内容按照要求显示在屏幕上,目的就是为了验证程序的正确与否。
在这个输出语句中,格式为printf("格式字符",输出项列表),表示将输出项列表中的变量值按照对应的格式字符要求输出。格式字符中有%加字母的格式符,代表输出数据的类型,有\加字符表示的转义字符,按照意思输出。除此之外的字符都是普通字符,会照原样输出。
您这个程序中的input r:就是典型的转义字符,会照原样显示在屏幕上,目的是为了起到提示作用,告诉程序运行者,接下来需要输入r这个变量的值。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)