用c语言完成这道题,请使用printf语句提示‘’please input you student
发布网友
发布时间:2022-04-29 20:44
我来回答
共3个回答
热心网友
时间:2023-10-08 23:58
#include "stdio.h"
int main()
{
char str[100]={0};
int sum=1;
int i;
printf("please input your student number:");
scanf("%s",str);
for(i=0;str[i]!='\0';i++)
if(str[i]>='1' && str[i]<='9')
sum*=(str[i]-'0');
printf("%d\n",sum);
}
2*3*4*5*9*8==120*72==8640
热心网友
时间:2023-10-08 23:58
#include<stdio.h>
void main()
{
char szNum[9];
int n = 1,i;
printf("please input your student number:");
scanf("%8s",szNum);
for(i=0;i<9&&szNum[i];i++)
{
if(szNum[i]>'0'&&szNum[i]<='9')
n *= (int)(szNum[i]-'0');
}
printf("output:%d\n",n);
}
热心网友
时间:2023-10-08 23:59
#include<stdio.h>
#include<math.h>
#define N 10
int main()
{int No,i,j,a[N],b[N],s=1;
printf("please input your student number\n");
scanf("%d",&No);
for(i=0;i<N;i++)
{a[i]=No/pow(10,N-i);
b[i]=a[i];
if(i>0)
a[i]=a[i]-b[i-1]*10;
if(a[i]!=0)
s=s*a[i];
} printf("该生学号是%d\学号非零数的乘积为s=%d",No,s);
return 0;
}
#define N 10
int main()
{int No,i,j,a[N],b[N],s=1;
printf("please input your student number\n");
scanf("%d",&No);
for(i=0;i<N;i++)
{a[i]=No/pow(10,N-i);
b[i]=a[i];
if(i>0)
a[i]=a[i]-b[i-1]*10;
if(a[i]!=0)
s=s*a[i];
}
printf("该生学号是%d\学号非零数的乘积为s=%d",No,s);
return 0;
}
这个我是按学号为十位数写的,用了stdio.h和math.h两个函数,注意在开头加进去,pow(x,y)这个函数的意思是x的y次方!
对不起啊!我这个百度知道好像有bug,输入的程序有些部分根本不显示,所以显示的代码有问题!