本文目錄一覽:
C語言,翻轉吧,方塊
#include stdio.h
#include stdlib.h
char a[10][10];
char b[10][10];
char c[10][10];
void rotate(int n)
{
int i,j;
int k;
for(i=0,j=n-1;in;i++,j–) {
for(k=0;kn;k++) {
b[k][j]=a[i][k];
}
}
for(i=0;in;i++) {
for(j=0;jn;j++) {
a[i][j]=b[i][j];
}
}
}
int turn(int n) {
int i,j;
int mid =n/2;
int k;
for(i=0,j=n-1;imid;i++,j–) {
for(k=0;kn;k++){
if(a[k][i]!=a[k][j]) {
a[k][i]=(a[k][i]+a[k][j]) -(a[k][j]=a[k][i]);
}
}
}
}
int equal(int n) {
int i,j;
for(i=0;in;i++) {
for(j=0;jn;j++) {
if(a[i][j]!=c[i][j]) return 0;
}
}
return 1;
}
int way(int i,int n) {
switch(i) {
case 1: rotate(n);if(equal(n)) return 1; else { rotate(n);rotate(n);rotate(n); return 0;}
case 2: rotate(n);rotate(n);if(equal(n)) return 1; else {rotate(n); rotate(n); return 0;}
case 3: rotate(n);rotate(n);rotate(n);if(equal(n)) return 1; else {rotate(n);return 0;}
case 4: turn(n);if(equal(n)) return 1; else {turn(n);return 0;}
case 5: turn(n);
rotate(n); if(equal(n)) return 1;
rotate(n); if(equal(n)) return 1;
rotate(n); if(equal(n)) return 1;
rotate(n);
turn(n);
return 0;
case 6:if(equal(n))return 1; else return 0;
case 7: return 1;
}
}
int main(int argc, char* argv)
{
int n;
while(scanf(“%d”,n)!=EOF) {
int i,j;
char t=getchar();
for(i=0;in;i++) {
for(j=0;jn;j++) {
scanf(“%c”,a[i][j]);
}
t=getchar();
}
for(i=0;in;i++) {
for(j=0;jn;j++) {
scanf(“%c”,c[i][j]);
}
t=getchar();
}
for(i=1;i=7;i++){
if(way(i,n)) {
printf(“%d\n”,i);
break;
}
}
}
}
C語言 圖形翻轉“
#includestdio.h
main()
{
int a[100][100],i,j,n,m,t,s,k;
scanf(“%d %d %d”,m,n,t);//M為行 N為列 T為翻轉的方式
for(i=0;im;i++)
{ for(j=0;jn;j++)
scanf(“%d”,a[i][j]);
}
if(t==1)
{
for(s=0;si/2;s++)
for(j=0;jn;j++)
{
k=a[i-s-1][j];
a[i-s-1][j]=a[s][j];
a[s][j]=k;
}
}
if(t==-1)
{for(s=0;sj/2;s++)
for(i=0;im;i++)
{
k=a[i][j-s-1];
a[i][j-s-1]=a[i][s];
a[i][s]=k;
}
}
for(i=0;im;i++)
{ for(j=0;jn;j++)
printf(” %d”,a[i][j]);
printf(“\n”);
}
}
怎樣用c語言表示 翻轉的數 比如把81 翻轉為18
用c語言表示翻轉的數可以參考下面的代碼:
#include stdio.h
int main()
{int C,D,S;
scanf(“%d”,C);
D=(C%10)*10+C/10;
S=C+D;
printf(“S=%d”,S);
}
擴展資料:
scanf()是C語言中的一個輸入函數。
與printf函數一樣,都被聲明在頭文件stdio.h里,因此在使用scanf函數時要加上#include stdio.h。
(在有一些實現中,printf函數與scanf函數在使用時可以不使用預編譯命令#include stdio.h。)它是格式輸入函數,即按用戶指定的格式從鍵盤上把數據輸入到指定的變量之中。
參考資料來源:百度百科-scanf (計算機語言函數)
c語言矩陣翻轉問題
#includestdio.h
int main()
{
int m,n,t,i,j;
scanf(“%d%d”,m,n);
int a[m][n];//定義一個m x n矩陣
for(i=0;im;i++)//矩陣輸入
{
for(j=0;jn;j++)
{
scanf(“%d”,a[i][j]);
}
}
scanf(“%d”,t);
if(t==1) //水平翻轉
{
for(i=0;im;i++)
{
for(j=n-1;j=0;j–) //每列倒序輸出
{
if(j!=0)
{
printf(“%d “,a[i][j]);
}
else
{
printf(“%d”,a[i][j]);//當循環至每列末尾時,不輸出空格
}
}
printf(“\n”);//每行輸出完後回車
}
}
else//豎直翻轉
{
for(i=m-1;i=0;i–) //倒序輸出每行
{
for(j=0;jn;j++)
{
if(j!=n-1)
{
printf(“%d “,a[i][j]);
}
else
{
printf(“%d”,a[i][j]);//當循環至每列末尾時,不輸出空格
}
}
printf(“\n”);
}
}
return 0;
}
原創文章,作者:DMFZF,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/324708.html