C语言中如何用数组把输入的数据前四位后四位分别相加再把两个和相除?
答案:3 悬赏:0 手机版
解决时间 2021-02-24 13:15
- 提问者网友:爱了却不能说
- 2021-02-24 01:26
如输入12345678,运算结果为(1+2+3+4)/(5+6+7+8)的值?
最佳答案
- 五星知识达人网友:往事埋风中
- 2021-02-24 02:13
#include <stdio.h>
int main()
{
int n, a[10], i=0;
scanf("%d",&n);
do
{
a[i]=n%10;
n=n/10;
i++;
} while (i<8);
printf("结果:(%d+%d+%d+%d)/(%d+%d+%d+%d) = %f",
a[7],a[6],a[5],a[4],a[3],a[2],a[1],a[0],
((float)(a[7]+a[6]+a[5]+a[4]))/(a[3]+a[2]+a[1]+a[0]));
return 0;
}
int main()
{
int n, a[10], i=0;
scanf("%d",&n);
do
{
a[i]=n%10;
n=n/10;
i++;
} while (i<8);
printf("结果:(%d+%d+%d+%d)/(%d+%d+%d+%d) = %f",
a[7],a[6],a[5],a[4],a[3],a[2],a[1],a[0],
((float)(a[7]+a[6]+a[5]+a[4]))/(a[3]+a[2]+a[1]+a[0]));
return 0;
}
全部回答
- 1楼网友:不想翻身的咸鱼
- 2021-02-24 03:58
#include<stdio.h>
void main() { int a[8],i,s1,s2; float b;
scanf("%d",&s1); s1%=100000000; for ( i=0;i<8;i++ ) a[i]=0;
i=0; while ( s1 ) { a[i]=s1%10; s1/=10; i++; }
s1=s2=0; for ( i=0;i<4;i++ ) { s2+=a[i]; s1+=a[i+4]; }
b=(float)s1/s2;
printf("%f\n",b);
}
- 2楼网友:山君与见山
- 2021-02-24 03:04
自己把字符1 转为数字1不就可以了嘛。。又不是很难
=====================
为什么用字符数组? 楼主是要一次性输入,不是循环分开输入。。
你如果用数组数组,一次性输入一个数,会被存放在一个元素里面,不会分开。
还有纯数字的判别,麻烦点,楼主需要再说,我懒得写
================================
这样啊,那就用一个字符数组咯。。
代码稍后给你。。
一次性输入50个数字,每一个数字(10以下的数字)都会单独存放于一个数组元素
如果你要把两位数以上(10以上)存放在数组元素里面,我就暂时没想到怎么做了
#include
int main(int argc,char *argv[])
{
char ch[50]={null},*p=ch;
int i=0;
gets(ch);
while(*p!=null)
{
printf("%c\n",ch[i++]);
p++;
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯