C语言经典题(1)
輸入某年某月某日,判斷這一天是這一年的第幾天?
程序分析:以3月5日為例,應該先把前兩個月的加起來,然后再加上5天即本年的第幾天,特殊情況,閏年且輸入月份大于3時需考慮多加一天
#include int main() {int day,month,year,sum,leap; ? ?printf("\n請輸入年、月、日,格式為:年,月,日(2015,12,10)\n"); ? ?scanf("%d,%d,%d",&year,&month,&day); ?// 格式為:2015,12,10 ? ?switch(month) // 先計算某月以前月份的總天數 ? ?{case 1:sum=0;break; ? ? ? ?case 2:sum=31;break; ? ? ? ?case 3:sum=59;break; ? ? ? ?case 4:sum=90;break; ? ? ? ?case 5:sum=120;break; ? ? ? ?case 6:sum=151;break; ? ? ? ?case 7:sum=181;break; ? ? ? ?case 8:sum=212;break; ? ? ? ?case 9:sum=243;break; ? ? ? ?case 10:sum=273;break; ? ? ? ?case 11:sum=304;break; ? ? ? ?case 12:sum=334;break; ? ? ? ?default:printf("data error");break; ?} ? ?sum=sum day; // 再加上某天的天數 ? ?if(year@0==0||(year%4==0&&year0!=0)) {// 判斷是不是閏年? ? ? ? ? ? ?leap=1; ? ?} else {leap=0; ? ?} ? ?if(leap==1&&month>2) { // *如果是閏年且月份大于2,總天數應該加一天? ? ? ? ?sum ; ? ?} ? ?printf("這是這一年的第 %d 天。",sum); ? ?printf("\n"); }以上實例輸出結果為:
請輸入年、月、日,格式為:年,月,日(2015,12,10) 2015,10,1 這是這一年的第 274 天。今日經典編程題
題目:有 n個整數,使其前面各數順序向后移 m 個位置,最后m個數變成最前面的 m 個數。
#include#includeint main(){ ? ?int arr[20]; ? ?int i,n,offset; ? ?//輸入數組大小和數組內容 ? ?printf("Total numbers?\n"); ? ?scanf("%d",&n); ? ?printf("Input %d numbers.\n",n); ? ?for(i=0;i ? ? ? ?scanf("%d",&arr[i]); ? ?//輸入滾動偏移量 ? ?printf("Set your offset.\n"); ? ?scanf("%d",&offset); ? ?printf("Offset is %d.\n",offset); ? ?//打印滾動前數組 ? ?print_arr(arr,n); ? ?//滾動數組并打印 ? ?move(arr,n,offset); ? ?print_arr(arr,n);} //打印數組void print_arr(int array[],int n){ ? ?int i; ? ?for(i=0;i ? ? ? ?printf("M",array[i]); ? ?printf("\n");}//滾動數組void move(int array[],int n,int offset){ ? ?int *p,*arr_end; ? ?arr_end=array n; ? ? ?//數組最后一個元素的下一個位置 ? ?int last;//滾動直到偏移量為0 ? ?while(offset) ? ?{ ? ? ? ?last=*(arr_end-1); ? ? ? ?for(p=arr_end-1;p!=array;--p) ? //向右滾動一位 ? ? ? ? ? ?*p=*(p-1); ? ? ? ?*array=last; ? ? ? ?--offset; ? ?}}聲明:
本文于網絡整理,版權歸原作者所有,如來源信息有誤或侵犯權益,請聯系我們刪除或授權事宜。
總結
- 上一篇: 京东购物卡使用方法(京东购物卡使用方法教
- 下一篇: 电脑wifi设置步骤(电脑如何设置WIF