
请教2道C语言题目的编程思想
1.#include<stdio.h>intchange(inta[4][3]){inti;for(i=0;i<4;i++){printf("%d%d%d\n",a[i]...
1.
#include <stdio.h>
int change(int a[4][3])
{
int i;
for (i=0;i<4;i++)
{
printf("%d %d %d\n",a[i][0],a[i][1],a[i][2],a[i][3]);
}
}
int main()
{
int a[4][3];
int i,j;
for (j=0;j<3;j++)
{
printf("Please enter 4 data for row %d of 3*4 matrix\n",j+1);
scanf("%d %d %d %d",&a[0][j],&a[1][j],&a[2][j],&a[3][j]);
}
printf("\n");
change(a);
return 0;
}
2.
#include <stdio.h>
#define CHANGE 1
int main()
{
char c[100];
char *p;
printf("input string\n");
memset(c , '\0', sizeof(c));
scanf("%s", &c);
p = c;
if(1 == CHANGE)
{
while(*p != '\0')
{
if(*p >='a' && *p <='y'||*p >='A' && *p<='Y')
*p += 1;
else if(*p =='z'||*p=='Z')
*p -= 25;
printf("%c", *p);
p++;
}
}
else
printf("%s",c);
printf("\n");
return 0;
}
谁能告诉我下这2道题目的编程思想啊,谢谢了
我主要是想问下这2个题目中的关键地方都是哪里?都是用什么函数实现的 展开
#include <stdio.h>
int change(int a[4][3])
{
int i;
for (i=0;i<4;i++)
{
printf("%d %d %d\n",a[i][0],a[i][1],a[i][2],a[i][3]);
}
}
int main()
{
int a[4][3];
int i,j;
for (j=0;j<3;j++)
{
printf("Please enter 4 data for row %d of 3*4 matrix\n",j+1);
scanf("%d %d %d %d",&a[0][j],&a[1][j],&a[2][j],&a[3][j]);
}
printf("\n");
change(a);
return 0;
}
2.
#include <stdio.h>
#define CHANGE 1
int main()
{
char c[100];
char *p;
printf("input string\n");
memset(c , '\0', sizeof(c));
scanf("%s", &c);
p = c;
if(1 == CHANGE)
{
while(*p != '\0')
{
if(*p >='a' && *p <='y'||*p >='A' && *p<='Y')
*p += 1;
else if(*p =='z'||*p=='Z')
*p -= 25;
printf("%c", *p);
p++;
}
}
else
printf("%s",c);
printf("\n");
return 0;
}
谁能告诉我下这2道题目的编程思想啊,谢谢了
我主要是想问下这2个题目中的关键地方都是哪里?都是用什么函数实现的 展开
4个回答
展开全部
第一个的编程思想实现一个二维数组的循环输入和循环输出,执行过程如下:
先在main()函数里边循环输入数组的元素,依次输入四个一共输入三次。然后在调用函数change(a);并把数组的的地址作为实参传递给函数change()然后再把这个数组循环输出,循环三次一次输出四个。最后返回main函数并退出
第二个就是实现一个输入一个字符串并判断这个字符串中是英文字母的字符,如果是的就在判断是否在为小写a到y和大写A到Y之间,如果满足这个条件即让*p对应的字母的ASCCII码加一并输出,否则的话就判断是否为小写z或大写Z 如果是就把他的ASCCII码先前移24个就是小写b或大写B,并输出
然后p++进行下一个的比较知道这个字符串结束是循环终止
先在main()函数里边循环输入数组的元素,依次输入四个一共输入三次。然后在调用函数change(a);并把数组的的地址作为实参传递给函数change()然后再把这个数组循环输出,循环三次一次输出四个。最后返回main函数并退出
第二个就是实现一个输入一个字符串并判断这个字符串中是英文字母的字符,如果是的就在判断是否在为小写a到y和大写A到Y之间,如果满足这个条件即让*p对应的字母的ASCCII码加一并输出,否则的话就判断是否为小写z或大写Z 如果是就把他的ASCCII码先前移24个就是小写b或大写B,并输出
然后p++进行下一个的比较知道这个字符串结束是循环终止
展开全部
//打印你输入的一个矩阵;
#include <stdio.h>
#include<stdlib.h>
int change(int a[4][3])//声明函数;
{
int i;
for (i=0;i<4;i++)
{
printf("%d %d %d\n",a[i][0],a[i][1],a[i][2],a[i][3]); //输出每行的数;
}
}
int main()
{
int a[4][3];
int i,j;
for(j=0;j<3;j++)
{
printf("Please enter 4 data for row %d of 3*4 matrix\n",j+1);
scanf("%d %d %d %d",&a[0][j],&a[1][j],&a[2][j],&a[3][j]); //输入每列的数,放在a[0][j]中;
}
printf("\n");
change(a); //调用函数;
system("pause");
}
#include <stdio.h>
#include<stdlib.h>
int change(int a[4][3])//声明函数;
{
int i;
for (i=0;i<4;i++)
{
printf("%d %d %d\n",a[i][0],a[i][1],a[i][2],a[i][3]); //输出每行的数;
}
}
int main()
{
int a[4][3];
int i,j;
for(j=0;j<3;j++)
{
printf("Please enter 4 data for row %d of 3*4 matrix\n",j+1);
scanf("%d %d %d %d",&a[0][j],&a[1][j],&a[2][j],&a[3][j]); //输入每列的数,放在a[0][j]中;
}
printf("\n");
change(a); //调用函数;
system("pause");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上二位说的均是算法和功能
编程思想主要有两种,一种是结构化程序设计(即面向过程),一种是
面向对象程序设计,这两道题均属前者
编程思想主要有两种,一种是结构化程序设计(即面向过程),一种是
面向对象程序设计,这两道题均属前者
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一题:输入并打印矩阵
第二题:输入一字符串,并把其中的字母都摞一位,a->b,b->c.....z->a
第二题:输入一字符串,并把其中的字母都摞一位,a->b,b->c.....z->a
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询