Ⅰ c語言結構體 建立一份同學通訊錄,包含姓名、電話、通信地址、郵編、生日等信息,要求按姓名的字母順序排
你對結構體中的子結構體的賦值也是不對的……
等我看看怎麼改比較好……
改成這樣:
#include<stdio.h>
#include<string.h>
struct data
{
int month;
int day;
int year;
};
struct stud
{
char name[20];
char tele[12];
char zip[7];
struct data birthday;
char addre[30];
};
/*{*/
int main()
{
//birthday是個整體,要加{}給birthday賦值
struct stud stu[30]={
"Liming","123456789","216546",{3,14,2001},"beijing",
"Xavi","789456123","216549",{4,5,2009},"tianjing",
"Messi","894564613","121487",{12,1,1993},"shanghai"};
int k,i,j,n=3;
struct stud temp;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(strcmp(stu[j].name,stu[k].name)<0)
k=j;
temp=stu[i];
stu[i]=stu[k];
stu[k]=temp;
}
printf("姓名 電話 郵編 生日 地址 ");
for(i=0;i<3;i++)
printf("%10s%12s%8s %2d-%2d-%4d %15s ",stu[i].name,stu[i].tele,stu[i].zip,stu[i].birthday.month,stu[i].birthday.day,stu[i].birthday.year,stu[i].addre);//少了電話……
return 0;
}
仔細調試啊,少年……
自己調試才能提高自己的編程能力。
為你解決疑問其實就是調試的過程,也是我學習的過程。
傍晚好,少年!
Ⅱ 哪位仁兄可以用C語言幫我寫一個生日快樂的小程序 就是已輸入生日 最後可以出現生日蛋糕的圖像
#include <iostream>
#include <cmath>
#include <cstdio>
using namespace std;
const int inf=0xfffffff ;
int preminv[21] ;
int ri[21],hi[21] ;
int total,floornum ;
int ans ;
int dfs (int n,int v,int s,int maxr,int maxh)
{
int res ;
int i,tmpr,tmph,tmpsum ;
if (n>floornum){
if (v==total && s+ri[1]*ri[1]<ans){
ans = s+ri[1]*ri[1] ;
return 1 ;
}
}
for (ri[n]=maxr-1 ; ri[n]>=floornum-n+1 ; ri[n]--){
res = 2.0*(total-v)/ri[n] + ri[1]*ri[1] ;
if (res + s >= ans) continue ;
for (hi[n]=maxh-1 ; hi[n]>=floornum-n+1 ; hi[n]--){
if (v+ri[n]*ri[n]*hi[n]+preminv[floornum-n]>total) continue ;
tmpr = ri[n] ,tmph = hi[n],tmpsum = 0 ;
for (i=n ; i<=floornum ; i++){
tmpsum += tmpr*tmpr*tmph ;
tmpr-- , tmph-- ;
}
if (v+tmpsum<total) continue ;
dfs(n+1,v+ri[n]*ri[n]*hi[n],s+2*ri[n]*hi[n],ri[n],hi[n]) ;
}
}
return 1 ;
}
int main()
{
int tmpv,tmpr,tmph ;
int i ;
tmpv=0 ;
for (i=1 ; i<21 ; i++){
tmpv += i*i*i ;
preminv[i] = tmpv ;
}
while (scanf("%d%d",&total,&floornum)!=EOF){
ans = inf ;
tmpv = total - preminv[floornum-1] ;
if (tmpv>0){
tmpr = sqrt (1.0*tmpv/floornum) + 1 ;
tmph = 1.0*tmpv/(floornum*floornum) + 1 ;
dfs(1,0,0,tmpr,tmph) ;
}
if (ans==inf){
ans = 0 ;
}
printf("%d\n",ans) ;
}
return 0;
}
Ⅲ 如何用C語言編寫一個程序,輸入你的姓名和年齡並輸出
#include <stdio.h>
int main(void)
{
char name[20];
int age;
printf("請輸入你的姓名:");
scanf("%s",name);
printf("請輸入你的年齡:");
scanf("%d",&age);
printf("你的姓名是:%s\n",name);
printf("你的年齡是:%d\n",age);
return 0;
}
Ⅳ 誰能寫一個蛋糕程序,用C語言。財富值可以再加。
你可以用*號來做啊,就是不停的輸出*,最後構成蛋糕。
Ⅳ C語言編程:定義一個名為student_record的結構體,它包含學生姓名、學號和出生日期。
struct date { int day ; int month; int year }; struct student_record { char name[10]; struct date birthday; int score; }
Ⅵ 怎麼用C語言程序做個生日蛋糕,能做可以動的嘛
需要圖形包比如opengl,當然可以做動的。不過幹嘛這么麻煩呢,隨便用個建模軟體做不是更方便
Ⅶ C語言編程,定義包含學號、姓名和成績的學生信息結構類型,完成以下功能:
代碼如下:
#include<stdio.h>
#include<stdlib.h>
#include<memory.h>
#defineMAX50
typedefstruct{
charstuId[10];
charname[20];
intscore;
}Student;
voidinput(Studentstudents[MAX],intn)
{
inti;
for(i=0;i<n;i++){
scanf("%s",students[i].stuId);
scanf("%s",students[i].name);
scanf("%d",&students[i].score);
}
}
voidsort(Studentstudents[MAX],intn)
{
inti,j;
Studenttemp;
for(i=0;i<n-1;i++){
for(j=0;j<n-i-1;j++){
if(students[j].score<students[j+1].score){
memcpy(&temp,&students[j],sizeof(Student));
memcpy(&students[j],&students[j+1],sizeof(Student));
memcpy(&students[j+1],&temp,sizeof(Student));
}
}
}
}
voidprint(Studentstudents[MAX],intn)
{
inti;
for(i=0;i<n;i++){
printf("%s%s%d ",students[i].stuId,students[i].name,students[i].score);
}
}intmain()
{
Studentstudents[MAX];
intn;
scanf("%d",&n);
input(students,n);
sort(students,n);
printf("輸出: ");
print(students,n);
system("pause");
return0;
}
運行結果:
Ⅷ C語言 怎麼用count做個生日蛋糕
用數組畫好圖案然後輸出即可
Ⅸ 如何用C語言編寫自己的姓名和學號
可以參考下面的代碼:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *fp=fopen("data.txt","r");
if (!fp)
{
fp=fopen("data.txt","w");
printf("請輸入姓名:");
char *name;
scanf("%s",name);
printf("請輸入學號:");
char *num;
scanf("%s",num);
fprintf("%s %s",name,num);
fclose(fp);
return 0;
}
char *name,*num;
fscanf("%s %s",name,num);
fclose(fp);
printf("姓名為:%s 學號為:%s",name,num);
return 0;
}
(9)c語言編程能加姓名的生日蛋糕擴展閱讀:
1、printf()函數
printf()函數是格式化輸出函數, 一般用於向標准輸出設備按規定格式輸出
信息。在編寫程序時經常會用到此函數。函數的原型為:
int printf(const char *format, ...);
函數返回值為整型。若成功則返回輸出的字元數,輸出出錯則返回負值。
2、scanf()
函數 scanf() 是從標准輸入流stdin(標准輸入設備,一般指向鍵盤)中讀內容的通用子程序,可以說明的格式讀入多個字元,並保存在對應地址的變數中。
Ⅹ c語言 編程
#include <stdio.h>
int main()
{
unsigned long birth;
char name[50];
float age;
scanf("%lu %s %f",&birth,name,&age);
printf("%lu %s %f",birth,name,age);
return 0;
}