陶和瓷的区别图片:c语言作业,哪位高手帮帮我,明天交,呜呜~救命!

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/05 10:16:12
1,读入下表中值到数组,分别求各行、各列及表中所有数之和。
12 4 6
8 23 3
15 7 9
2 5 17

2,编写程序取字符串的子串(从第n个字符开始取m个字符)。
3,编写程序求出方阵x的上三角元素之积。其中方阵x的行、列数和元素均由键盘输入。(方阵x的行、列数不超过10)

呵呵,通过测试
#include<stdio.h>
int a[10][10],b[100];;
int i,j,k,n;

void duru()//输入方阵
{
printf("请输入方阵的维数:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("请输入第%d行元素",(i+1));
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
}
}
void qiuhe()//求各行列及所有元素之和
{
int s[10],t=0;
for(i=0;i<n;i++)
s[i]=0;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
s[i]=s[i]+a[i][j];
printf("第%d行数字之和为%d\n",(i+1),s[i]);

}
for(i=0;i<n;i++)
t=t+s[i];
printf("所有元素和为%d\n",t);
for(i=0;i<n;i++)
s[i]=0;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
s[i]=s[i]+a[j][i];
printf("第%d列数字之和为%d\n",(i+1),s[i]);
}
}
void quzhi()//取元素
{
for(i=0;i<(n*n);i++)
b[i]=a[i/n][i%n];
printf("请输入起始字符的排位:");
scanf("%d",&i);
printf("请输入欲取字的个数:");
scanf("%d",&j);
for(k=(i-1);k<(i+j-1);k++)
printf("%4d",b[k]);
printf("\n");
}
void ji()//求积
{
int c[10],d=1;
for(i=0;i<n;i++)
c[i]=1;
for(i=0;i<n;i++)
for(j=i;j<n;j++)
c[i]=a[i][j]*c[i];
for(i=0;i<n;i++)
d=d*c[i];
printf("上三角元素之积为%d",d);
}

void main()
{
duru();
qiuhe();
quzhi();
ji();
}

这么简单还不自己编啊
这是我们的题:::::

传统的算术表达式是由操作数(又叫运算对象或运算量)和运算符以及改变运算次序的圆括号连接而成的式子。 其运算规则如下:

(1) 先计算括号内,后计算括号外;

(2) 在无括号或同层括号内,先进行乘除运算,后进行加减运算,即乘除运算的优先级高于加减运算的优先级;

(3) 同一优先级运算,从左向右依次进行。

在这种表达式的计算过程中,既要考虑括号的作用,又要考虑运算符的优先级,还要考虑运算符出现的先后次序。

波兰科学家卢卡谢维奇(Lukasiewicz)提出了算术表达式的另一种表示,即后缀表示,又称逆波兰式,其定义是把运算符放在两个运算对象的后面。在后缀表达式中,不存在括号,也不存在优先级的差别,计算过程完全按照运算符出现的先后次序进行,整个计算过程仅需一遍扫描便可完成。

例如

3/5+6的逆波兰表达式为3 5 / 6 +

2*(3+4)的逆波兰表达式为2 3 4 + *

输入
一个只包含加、减、乘、除和数字的逆波兰表达式

输出
该表达式的值

测试用例 0
测试输入 1 2 3 + 5 *

期待的输出 1 25

时间限制 1秒
内存限制 无限制

楼上的是在做ACM?