求解,C语言考试题:高手们帮解答一下吧!~先谢谢啦!

如题所述

第1个回答  2012-05-26
#include <stdio.h>
#include <math.h>
void main()
{
int n,i,j;
double sum=0;
printf("n∈(1,100]=?\n");
scanf("%d",&n);
if(n<=1||n>100){
printf("Error!");
return;
}
for(i=1;i<=n;i++)
for(j=1;j<=i;j++)
sum+=pow(j,0.5);
printf("result=%lf\n",sum);
return;
}
///////////////////////////////
#include <stdio.h>
#include <stdlib.h>
int* square(int n){
int i,j,*p;
p=(int*)calloc(n*n,4);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
*(p+i*n+j)=0;
for(i=0;i<n;i++)
for(j=0;j<=i;j++)
*(p+i*n+j)=1;
return(p);
}

int main(){
int i,j,n,*p;
printf("n=");
scanf("%d",&n);
p=square(n);
for(i=0;i<n;i++){
for(j=0;j<n;j++)
printf("%d\t",*(p+i*n+j));
printf("\n");
}
return 0;
}
///////////////////////////////
#include <stdio.h>
#include <stdlib.h>
int* square(int n,int m){
int i,j,*p,t;
p=(int*)calloc(n*n,4);
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf("a[%d][%d]=",i,j);
scanf("%d",&t);
*(p+i*n+j)=t;
}
}
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if(j>=i)*(p+i*n+j)*=m;
return(p);
}

int main(){
int i,j,n,m,*p;
printf("n=");
scanf("%d",&n);
printf("m=");
scanf("%d",&m);
p=square(n,m);
for(i=0;i<n;i++){
for(j=0;j<n;j++)
printf("%d\t",*(p+i*n+j));
printf("\n");
}
return 0;
}
第2个回答  2012-05-26
楼上的开辟的是伪二维数组...
1、
#include"stdio.h"
#include"math.h"
int main(){
int n;
double s=0, sum=0;
do{
printf("please input an integer from 2 to 100:");
scanf("%d",&n);
}while(n<2||n>100);
for(int i=1; i<=n; i++){
sum+=sqrt((double)i);
s+=sum;
}
printf("the result is: %lf.\n", s);
return 0;
}
2、
#include"stdio.h"
#include"stdlib.h"
int main(){
int n;
do{
printf("please input an positive integer:");
scanf("%d",&n);
}while(n<0);
int **p = (int **)malloc(sizeof(int*)*n);///动态开辟数组
for(int i=0; i<n; i++)
p[i] = (int*)malloc( sizeof(int)*n);
for(int i=0; i<n; i++)
for(int j=0; j<n; j++){
if(i<j)
p[i][j]=0;
else
p[i][j]=1;
}
for(int i=0; i<n; i++)
for(int j=0; j<n; j++){
printf("%d\t",p[i][j]);
if(j==n-1)
printf("\n");
}
return 0;
}
3、
#include"stdio.h"
#include"stdlib.h"
int main(){
int n, m;
do{
printf("input the size of dimensional!\nplease input an positive integer:");//输入维数n
scanf("%d",&n);
}while(n<0);
int **p = (int **)malloc(sizeof(int*)*n);///动态开辟数组
for(int i=0; i<n; i++)
p[i] = (int*)malloc( sizeof(int)*n);
printf("please input the %d-dimensional's array:\n", n);//输入数组元素
for(int i=0; i<n; i++)
for(int j=0; j<n; j++)
scanf("%d", &p[i][j]);
printf("please input the integer m:");//输入乘数m
scanf("%d",&m);
for(int i=0; i<n; i++)
for(int j=i; j<n; j++)
p[i][j]*=m;
for(int i=0; i<n; i++)
for(int j=0; j<n; j++){
printf("%d\t",p[i][j]);
if(j==n-1)
printf("\n");
}
return 0;
}本回答被提问者采纳
第3个回答  2012-05-26
第一个累加
第二个第三个二维数组加上判断
这些都很简单的,仔细把书本看通了,看些例子,培养思维,加油!追问

帮帮忙吧!我们全班人都在等着答案呢!过几天就要交了!!我给你加分好吧!麻烦了!

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网