大一C语言课程设计题目, 求急! 加100分。

Python023

大一C语言课程设计题目, 求急! 加100分。,第1张

#include<stdio.h>

#include<string.h>

#define N 100

typedef struct AA

{

char name[20]

char phone[12]

char e_mail[30]

char relation[20]

}AA

/*1。输入新联系人2。删除指定的联系人(输入姓名,若找掉则删除该联系人的信息

3。根据输入的与本人关系,显示联系信息4。显示所有联系人的信息设计菜单*/

int input__(AA * s)

{

int len = 0,i = 0,n

printf("请输入要添加的联系人个数,上限为%d个\n",N)

scanf("%d",&n)

for(i=0i<ni++)

{

printf("请依次输入第%d联系人的姓名、电话、邮箱以及与本人的关系(中间使用空格隔开即可):\n",i)

scanf("%s%s%s%s",s[i].name,s[i].phone,s[i].e_mail,s[i].relation)

}

return n

}

void delete__(AA *s,int *n)

{

int i = 0,j = 0,status = 0

char ca[20] = ""

printf("请输入要删除的联系人的姓名\n")

scanf("%s",ca)

for(i=0i<*ni++)

{

if(!strcmp(ca,s[i].name))

{

*n = *n-1

status = 1

for(j=ij<*nj++)

{

s[j] = s[j+1]

}

break

}

}

if(status == 0)

printf("没有找到要删除的人的信息\n")

else

printf("删除成功\n")

}

void show__relation(AA *s,int n)

{

int i = 0,status = 0

printf("请输入与联系人的关系\n")

char ca[20] = ""

scanf("%s",ca)

for(i=0i<ni++)

{

if(!strcmp(ca,s[i].relation))

{

printf("name:%15s\tphone:%15s\ne-mail:%15s\trelation:%15s\n",s[i].name,s[i].phone,s[i].e_mail,s[i].relation)

status = 1

}

}

if(!status)

printf("没有找到相应的信息\n")

}

void show__all(AA *s,int n)

{

int i = 0

for(i = 0 i <n i++)

{

printf("name:%15s\tphone:%15s\ne-mail:%15s\trelation:%15s\n",s[i].name,s[i].phone,s[i].e_mail,s[i].relation)

}

}

int  main(void)

{

AA  a[N]

int n = 0

int i

while(1)

{

printf("0------退出系统\n1------输入联系人信息\n2------删除指定联系人信息\n")

printf("3------显示与本人关系相通的联系人信息\n4------显示所有联系人的信息\n")

scanf("%d",&i)

if(i == 0)

break

switch(i)

{

case 1:n = input__(a)break

case 2:

if(n == 0)

{

printf("你还没有添加信息,请先添加信息:\n")

break

}

else

{

delete__(a,&n)

break

}

case 3:

{

if(n == 0)

{

printf("你还没有添加信息,请先添加信息:\n")

break

}

else

{

show__relation(a,n)

break

}

}

case 4:

{

if(n == 0)

{

printf("你还没有添加信息,请先添加信息:\n")

break

}

else

{

show__all(a,n)

break

}

}

default:

printf("您的选择有误,请重新选择\n")

break

}

}

return 0

}

//看看~~~刚刚写完~

#include "stdio.h"

int n=0

int isprime(int n)

{

for(int i=2i<=n/2i++)

if(n%i==0)

return 0

return 1

}

void sort(int a[])

{

int i,j

for(i=0i<n-1i++)

for(j=0j<n-1-ij++)

if(a[j]>a[j+1])

{

int temp=a[j]

a[j]=a[j+1]

a[j+1]=temp

}

}

int swap(int n)

{

int a,b,c

a=n/100

b=n/10%10

c=n%10

return c*100+10*b+a

}

void print(int a[])

{

for(int i=0i<ni++)

{

printf("%-5d",a[i])

if(i%5==4) printf("\n")

}

printf("\n")

}

void deleven(int a[])

{

int i,j,k

for(i=0i<ni++)

{

if(a[i] % 2==0)

{

for(j=ia[j]%2==0j++)

k=j-i

for(j=ij<n-k-1j++)

a[j]=a[j+k]

n-=k

}

}

}

void main()

{

int i

int a[900]

for(i=100i<1000i++)

if(isprime(i))

a[n++]=i

printf("all primes:\n")

print(a)

printf("\n\n")

for(i=0i<ni++)

a[i]=swap(a[i])

sort(a)

printf("after swap and sort:\n")

print(a)

printf("\n\n")

deleven(a)

printf("after delete evens:\n")

print(a)

printf("\n")

}

确实溢出了,因为只需要最后3位,因此求指数时先乘以a后再对1000求余数就可以了

#include <stdio.h>

int main( )

{

int a, n, p, i

scanf("%d%d", &a, &n)

p = a

for (i = 1i <= ni ++)

p = (p * a) % 1000

printf("%d\n", p)

return 0

}