C语言模拟试卷(4)求答案

四、编写题:1.从三个红球、五个白球、六个黑球中任意取出八个,且其中必须有白球,统计共有多少种抽取方案。2.设有字符串charstr[]="Ghuy&%9,JUYT:{r... 四、编写题:
1.从三个红球、五个白球、六个黑球中任意取出八个,且其中必须有白球,统计共有多少种抽取方案。

2.设有字符串char str[]="Ghuy&%9,JUYT:{read}87$i#$s@Ag!ir?l,s/hh$#@345^gHU*d";设计程序,统计其英文字母(不区分大小写)、数字字符、以及其它字符各有多少。

3.编写程序,求s=a+aa+aaa+…+ aa…a (最后一项共n位),其中a是一个数字。例如:2+22+222+2222+22222(此时a=2,n=5)。必须用循环结构实现编程。

4.由1,2,3,4四个数字组成的4位数的个数
要求:(1)允许4位数中有相同的数字
(2)个位数和百位数不同。
例如:合要求的数有:1122,1244,2143,2233;不合要求的数有::1424,2313(个位数和百位数相同)。
展开
 我来答
980515024
2010-05-09 · TA获得超过606个赞
知道小有建树答主
回答量:700
采纳率:0%
帮助的人:352万
展开全部
这么多一点分都没有啊???
汗!!!
1.
#include <stdio.h>
void main()
{
int fun(int x,int y,int z);
int sum,x=3,y=5,z=6;/*x表示红球,y表示白球,z表示黑球*/
sum=fun(x,y,z);/*sum 代表共有方法的数目并调用下面的函数*/
printf("%d",sum);
}
int fun(int x,int y,int z)
{
int i,j,k,sum=0;
for(i=1;i<=3;i++)/*i表示红球的个数*/
for(j=1;j<=5;j++)/*j表示白球的个数*/
{
k=8-i-j;/*用k判断黑球的个数*/
if(k>=0&&k<=6)
sum++;
}
return sum;
}
2.
#include<stdio.h>
#include<string.h>
void main()
{
void fun(char c);
char c[]="Ghuy&%9,JUYT:{read}87$i#$s@Ag!ir?l,s/hh$#@345^gHU*d";
int i,k,m,n;
for(i=0;i<strlen(c);i++)
printf("%d\n",c[i]);
fun(c);
}
void fun(char str)
{
int i,k=0,m=0,n=0;char d;
for(i=0;i<strlen(d);i++)
{
if(d[i]>='0'&&d[i]<='9') k++;
else if((d[i]>='a'&&d[i]<='z')||(d[i]>='A'&&d[i]<='Z')) m++;
else n++;
}
printf("数字有%d\n英文字符有%d\n其他字符有%d\n",fun(k),fun(m),fun(n));
}
3.
#include <stdio.h>
int main()
{
int sum=0,i=0,a=2,b,n;
scanf("%d",&n);
b = a;
for( i=0;i<n;i++)
{
sum= sum + a;
a = 10*a + b;
}
printf( "sum=%d\n", sum);
}

4.
最后一个自己想办法吧!!!我没有时间了!
OL!
pos3721
2010-05-09
知道答主
回答量:79
采纳率:0%
帮助的人:26.8万
展开全部
4.我补全吧 我的方法有点笨啊 不知有没有别的方法
#include <stdio.h>
void main()
{
int q,b,s,j;
int sum=0;
for(q=1;q<=4;q++)
{
for(b=1;b<=4;b++)
{
for(s=1;s<=4;s++)
{
for(g=1;g<=4;g++)
{
if(b==g)
continue;
else
sum++;
}
}

}
}
printf("%d",sum);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式