c语言题目,有重谢

实验内容(按要求设计以下程序,并调试分析运行结果,此部分完成在实验报告上)
1、设计程序sy7-1.c,有三个整形变量i,j,k。设置三个指针变量p1,p2,p3,分别指向i,j,k。然后通过指针变量使i,j,k三个变量的值顺序交换,即原来i的值赋给j,把j的原值赋给k,把k的原值赋给i。i,j,k的原值由键盘输入,要求输出i,j,k的原值和新值。

#include<stdio.h>
void fun(int *p,int *q)
{
    *p=*p+*q;
    *q=*p-*q;
    *p=*p-*q;
}
void main()
{
    int i,j,k;
    int *p1,*p2,*p3;
    scanf("%d%d%d",&i,&j,&k);
    p1=&i;
    p2=&j;
    p3=&k;
    printf("%d %d %d\n",i,j,k);
    fun(p1,p2);
    fun(p1,p3);
    printf("%d %d %d\n",i,j,k);
}

 

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-06-03
不太明白你的意思,大致效果应该是这样的!
望采纳!!!
void main()
{
int i,j,k,t1,t2;
int *p1,*p2,*p3;
p1=&i;
p2=&j;
p3=&k;
printf("请依次输入三个整数值:\n");
scanf("%d%d%d",&i,&j,&k);
printf("顺序重排前的值依次是:");
printf("i=%d\tj=%d\tk=%d\n",i,j,k);
t1=j,j=i,t2=k,k=t1,i=t2;
printf("顺序重排后的值依次是:");
//printf("i=%d\tj=%d\tk=%d\n",i,j,k);
printf("i=%d\tj=%d\tk=%d\n",*p1,*p2,*p3);
}本回答被网友采纳
第2个回答  2014-06-03
你不补充我也看懂了的,就是一个求和公式:#include <stdio.h>
#include <stdlib.h>int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
printf("%d\n",n*(n+1)/2);
}
return 0;
}
希望对你能有所帮助。
相似回答