C语言高手进来帮个忙,谢谢

请编写下列程序:
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);
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2005-12-12
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;
}
第2个回答  2005-12-12
给个方法体吧只
3。
int ad(int[] *a)
{
int sum=0
for(int i=1;i<4;i++)
{
sum+=a[i][i];
}
return sum;
}

c语言高手帮个忙~~~!!!做三个题,用C语言写,马上要交的,高悬赏...
1. #include <stdio.h> void main(){ int a[3][3];int i,j;int sum=0;int sum1=0;for( i=0; i<=2; i++){ for( j=0; j<=2; j++){ printf ("a[%d][%d]:", i+1, j+1);scanf ("%d",&a[i][j]);} printf("\\n");} for( i=0; i<=2; i++){ for...

c语言几个小小的问题 高手帮个忙
1. C 逗号在这里不合法 2. 输出2,虽然x是浮点型,但是10和4都是整型,所以先按整型运算,再将结果转换为浮点型 3. (++x, y++)表示这是一个逗号表达式,逗号表达式取最后一个表达式的值,也就是y++的值,所以输出结果是3和3 4. printf("%8.4g\\n",b); 这句输出8756,%g表示按%e或者%...

C语言问题,大家帮个忙谢谢
如果输入的是 0,则是 1 位数,正序、逆序都为 0。如果不是0,可以根据该数是几位数进行循环输出。这里提供了一种扩展性较强的算法,可以参考。代码中,k = 1000 表示当该数是 4 位数,然后通过循环来缩减 k 的值,从而从高到低输出每一位的数字(正序)。逆序的算法相对正序简单点,先通过 ...

c语言的高手,帮个忙啊,本人现在没有财富值了,呜呜。。
1、先进行括号内运算,--b就是8,d++值没有变,所以(--b==d++)为真,即a=1,所以执行真的条件d++ 2、先进行两个括号内的运算a>b为假,m=0。c>d为假,n=0。然后0交0为0所以k为0 3、char *p[] 其实是一个二维数组 其中p[0]存储的是“Chinese”,p[1]=“France",p[2]=“...

帮个忙!C语言高手请进!怎样把小写字母转换成大写字母?大写转成小写的...
按键盘上的"Caps lock键.键盘上有三个灯的.中间一个亮了就是大写的.没亮就是小写的.要是打出来的还是字的话就按键盘上最左边的下面两个键.两个一起按就变换了.

c语言高手朋友们 进来帮个忙
我算了一下,到第二步后,结果只有126*126=15876种组合,是不是我的理解错了?我的理解是:从0123456789中分出5个数后,另5个数也就定了,所以只有C(10,5)=252个,其中有一半是前后相同的,所以只有126个,两组126个再两两组合,共有126*126=15876.按照这个思路,我写了一段程序,结果算...

请C语言大神帮个忙
include<string.h> define max 100 int mat[max][max],vis[max][max];void dfs(int x,int y){ if(!mat[x][y] || vis[x][y]) return;vis[x][y]=1;dfs(x-1,y-1);dfs(x-1,y+1);dfs(x-1,y);dfs(x,y-1);dfs(x,y+1);dfs(x+1,y-1);dfs(x+1,y+1);dfs(x+...

C语言编程,帮个忙啦~
C语言编程,处理数组排序问题,帮助实现基本的字符数组排序。在C语言中,处理数组排序,尤其是字符数组排序,是编程基础中的重要一环。本文将介绍如何在Visual C++(简称VC)环境下调试并实现字符数组的排序功能。首先,我们编写一个函数 `sort(char a[][10],int n)` 来实现排序。函数接受一个二维字符...

请懂c语言的帮个忙咯!!??
int main(void){ int i,j,k,m,mon,y;int day(int n,int m);\/\/函数的声明 int month(int n,int y);int year(int y);printf("Please input one year after year 1900 you want to know:");scanf("%d",&y);if(y<1900)\/\/我以1900年为基础算的,所以1900年以前查不了。printf("...

初学c语言,求哪位大佬帮个忙,编程计算当x=5时,公式(1+x³)\/(x³+...
doublex){inti=2;doublesum=1.0f;intk=-1;while(i<=10){sum+=k*pow(x,i)\/jiecheng(i);\/\/pow是math.h里的函数求x的i次方k=-k;i++;}returnsum;}voidmain(){doublex=3.0f;printf("%d\\n",jiecheng(2));\/\/测试阶乘printf("%f\\n",mycos(x));printf("%f\\n",cos(x)...

相似回答