#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
}