翁同龢电视剧第一集:C语言高手进来帮个忙,谢谢

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/25 16:34:36
请编写下列程序:
1.输入1行字符,并分别统计大写字母、小写字母、数字的个数
2.编写一个函数,该函数将一个字符串中的所有大写字母改为相应的小写字母,其它不变
3.计算一个3乘3矩阵的两条对角线之和
4. 打印杨晖三角形

老师布置的12个题,其中这4个不是很懂 望高手指点 请标明题目序号 谢谢

4网上太多,我也做不来呵呵.
3用个2维数组,对角线就是a[i++][i++]和a[i++][j--]2个序列的和(i=0,j=2).代码你自己研究看看?
2.代码如下:
void getL(char* p)
{
char* t=p;
while(*t!='\0')*t>0x40&&*t<0x5B?*t+=0x20,t++:t++;
}
1.代码如下:
#include <stdio.h>
#include <stdlib.h>
#define MAX 100
void main()
{
char* t;int L=0,U=0,N=0;
t=(char *)malloc(MAX);
scanf("%s",t);
while(*t!='\0')
{
if(*t>0x40&&*t<0x5B)U++;/*大写*/
if(*t>0x60&&*t<0x7B)L++;/*小写*/
if(*t>0x30&&*t<0x3A)N++; /*数字*/
t++;
}
printf("L:%d,U:%d,N:%d\n",L,U,N);
free(t);
}

4.
#include<stdio.h>
#define line 10 //输出10行
main()
{
int i,j;
for(i=0;i<10;i++)
{for(j=0;j<=i;j++)
printf(" %d",result(i,j);
printf("\n");}
getchar();
}

int result(int m,int n) //以m为底n的组合数
{
if(m!=0&&n!=0)
{int i,j,adm=1,adn=1,adt=1;
for(i=1;i<=m;i++) //算m的阶乘
adm=adm*i;
for(j=1;j<-n;j++) //算n的阶乘
adn=adn*j;
for(i=1;i<=(m-n);i++) //算(m-n)的阶乘
adt=adt*i;
j=adm/(adn*adt);
return j;
}
if(m==0||n==0)
return 1;
}

给个方法体吧只
3。
int ad(int[] *a)
{
int sum=0
for(int i=1;i<4;i++)
{
sum+=a[i][i];
}
return sum;
}